Skip to main content

Gorm - Insert Data

Melanjutkan dari tulisan sebelumnnya kali ini diberikan contoh sederhana untuk insert data ke articles.

Model

Pada models/article.go silahkan ubah menjadi seperti ini :

package models

import "time"

type Article struct {
ID int64 `gorm:"primaryKey"`
Name string
Content string
AuthorName string
CreatedAt time.Time
UpdatedAt time.Time
}

Terdapat perubahan yaitu :

  1. Ubah tipe data ID menjadi int64 (sesuai dengan tipe data pada database yaitu big integer)
  2. Menambahkan CreatedAt
  3. Menambahkan UpdatedAt

Buat Data Baru Article

Untuk membuat data baru, anda bisa menggunakan kode sebagai berikut :

package main

import (
...
"example/hello/models"
"strconv"
"time"
...
)

func main() {
...

//insert new article
articleNew := models.Article{
AuthorName: "programmer",
Content: "belajar insert golang",
Name: "belajar golang",
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
}

result := db.Create(&articleNew)
if result.Error != nil {
log.Fatalf("failed insert : %s", result.Error)
}

...
}

Menampilkan Data Articles

Terdapat beberapa perubahan untuk menampilkan data articles dibanding sebelumnya, hasilnya seperti berikut ini :

    //show all articles
articles, err := repository.GetAllArticles()
if err != nil {
fmt.Println("Failed get articles: ", err)
return
}

fmt.Println("Articles in db are : ")
for _, article := range articles {
fmt.Printf(
"ID: %s, createdAt: %s, name: %s, content: %s, authorName: %s \n",
strconv.Itoa(int(article.ID)),
article.CreatedAt,
article.Name,
article.Content,
article.AuthorName,
)
}

Terdapat perubahan yaitu :

  1. Convert articles.ID menjadi string
  2. Menambahkan created_at untuk ditampilkan

Hasil

Jika berhasil, data terbaru anda akan berhasil masuk sebagai berikut :

picture 1